Conventional web pages include commands such as HTML commands that can cause a browser to render text, images, links and other conventional components of a web page. Some web pages are provided to a user exactly as they are stored on a server by a web site administrator. The user requests the web page using a browser, and the server provides the web page to the browser. Such web pages are referred to herein as “static” web pages because they do not change from one user to the next or from one user's circumstance to the next.
Static web pages are easy to design and modify using conventional application programs such as web authoring tools or even a text editor. A designer can lay out a web page on the designer's computer system without any programming knowledge, and can easily view it using a browser on the designer's computer system. When the web page appears exactly as the designer prefers it to appear, the designer or web site administrator can upload the page to the server for viewing by any party who requests it.
Some web pages are built on demand by a computer program running on the server. When the server receives the request, the program retrieves information required to build a web page, builds the page, and sends it to the user's browser or other requester. Such web pages are referred to herein as “dynamic” because they can change from one user to the next and from one user's circumstance to the next. After the web page is dynamically built and sent to the user's browser by the server, however, it is indistinguishable from a static web page.
Dynamic web pages can be more flexible than static web pages, because the programs that generate them can provide custom information or provide the latest information retrieved from a database. However, dynamic web pages require the services of a computer programmer to build or even change the layout of the web page. To test how any dynamic web pages will appear, the program must be uploaded to the server, debugged and run. This can extend the time it takes to complete a web page, because the programmer cannot see how a web page produced by the program will appear in a browser without actually testing and running the program.
A hybrid approach to building dynamic web pages is achieved by embedding server side code in otherwise static web pages. The hybrid approach allows a non-programmer designer to create a web page with static elements defined by HTML commands and with dynamic elements defined by server side code. There are many languages that may be used as server side code in hybrid web pages. The conventional Active Server Pages (ASP) is a server side language commercially available from Microsoft Corporation of Redmond, Wash. The conventional Java Server Pages (JSP) is a server side language commercially available from Sun Microsystems of Palo Alto, Calif. The conventional Cold Fusion Markup Language (CFML) is also a server side language, commercially available from Allaire Corporation of Newton, Mass., now owned by Macromedia, Inc., of San Francisco, Calif. These languages are interpreted as described below by application server software packages sold by the vendors listed above, as well as BEA Systems, Inc., of San Jose, Calif. and International Business Machines of White Plains, New York.
A designer can design the web page and either insert the server side code or have a programmer add the server side code to the web page the designer designs. The web site administrator or designer uploads a file containing the hybrid web page in a manner similar to that used for static web pages. When a user requests the web page through a browser, however, the server that retrieves the file also interprets any server side code, retrieves information according to the server side code, and substitutes the information in place of the server side code. The server may also insert other commands (such as those that set the value of a variable) into the file. Only then does the server provide the web page to the browser. As with dynamic web pages, the browser does not distinguish between the hybrid web page and a static web page.
Hybrid web pages built using ASP, JSP, CFML, or another form of server side code can be simpler for non-programmers to design and change than web pages built by a program. One way that using server side code eases web page design is enabling rapid visualization of web pages during the design process. For example, a web page designer can preview the hybrid page by retrieving it with a conventional browser. Although the browser will not be able to render the server side code as anything other than text that shows the code, the designer will be able to see how the non-server-side code elements of the page will appear.
Some application programs such as web authoring tools assist a designer in designing either static web pages or hybrid web pages using server side code. For example, the conventional Macromedia Dreamweaver 3 product commercially available from Macromedia, Inc., of San Francisco, Calif., provides a graphical user interface that allows web pages to be designed graphically. The user interacts with the graphical user interface to manipulate graphical representations of the different parts of the web page, and the application program builds the HTML code that corresponds to the graphical representations. The web page designer views the graphical user interface in one or more graphics windows and can view or change the corresponding HTML code in a code window.
Application programs such as Dreamweaver 3 allow designers to perform and visualize modifications to web pages more rapidly than off-line previewing. Such an application program allows the user to see in the graphics window an approximation of how the web page will appear in a browser and make changes using either the graphics window or the code window. The program then automatically updates the contents of the other window to reflect the changes. The use of such programs allows changes made to the web page to be instantly seen in the graphics window as the designer designs the page, rather than following a storage, retrieval, and reloading delay for the browser. This can significantly shorten the time it takes to design a web page.
Some application programs such as Dreamweaver 2 formerly available from Macromedia allow a designer to include server side code in a web page. However, these application programs do not display to the designer the actual data that will be viewed by a user who requests the page from the server. Instead, such an application program displays placeholders in the graphics window for data corresponding to server side code. The placeholders may be icons of the appropriate dimensions set at the appropriate locations.
The placeholder approach offers the designer an approximate visualization of the location and other characteristics of the dynamic elements of the web page, and thus can help speed the design process somewhat. Moreover, because the visualization occurs within the graphics window, the location and other characteristics of the dynamic elements may be modified and re-visualized more easily than when previewing occurs in a browser. However, the designer still cannot view actual data that would be substituted into the web page by the server according to the server side code. So the designer cannot determine within the graphics window whether the server side code will perform as the designer intends it to perform. While a designer can upload the web page, request it and view the result, this is a cumbersome and time-consuming process that must be repeated each time a modification is made to the server side code having results that the designer would prefer to view. Furthermore, because the data that gets built into the web server may periodically change, the designer would have to periodically upload the latest version and then rerequest the web page in order to see the latest layout with the latest data or to see how the web page will appear in response to changing data, a cumbersome and time-consuming process.
What is needed is a method and system that can display the server side code results for one or more web pages in a web authoring tool or other application program, can optionally allow modifications to be made to the layout of the web pages, and can optionally update the server side code results in the web authoring tool or other application easily, at the request of the user as server side code is changed, or periodically.
Although the issues above have been described with respect to web pages, it may be desirable to apply the solutions to any type of information. What is needed is a system and method for building a set of information and associating information received from a server with one or more objects.